/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cgt;

import cdp.Marca;
import cdp.Produto;
import cgd.DaoJpaMarca;
import cgd.DaoJpaProduto;
import java.util.List;

/**
 *
 * @author CDIG01
 */
public class AplProdutos {
    static AplProdutos instance;
    public static AplProdutos getInstance() {
        if(instance == null)
            instance = new AplProdutos();
        return instance;
    }
    
    DaoJpaProduto produtosDao = new DaoJpaProduto();
    DaoJpaMarca marcasDao = new DaoJpaMarca();
    
    public void salvarProduto(Produto p) throws Exception {
        try {
            produtosDao.salvar(p);
        } catch(Exception e) {
            throw new Exception("Erro ao salvar produto.");
        }
    }
    
    public void excluirProduto(Produto p) throws Exception {
        try {
            produtosDao.excluir(p);
        } catch(Exception e) {
            throw new Exception("Erro ao excluir produto.");
        }
    }
    
    public Produto buscarProdutoId(Long id) throws Exception {
        try {
            Produto p = new Produto();
            p.setId(id);
            return produtosDao.buscarId(p);
        } catch(Exception e) {
            e.printStackTrace();
            throw new Exception("Erro ao buscar produto.");
        }
    }
    
    public List<Produto> buscarProdutos() throws Exception {
        try {
            return produtosDao.buscarTodos(new Produto());
        } catch(Exception e) {
            e.printStackTrace();
            throw new Exception("Erro ao buscar produto.");
        }
    }
    
    public void salvarMarca(Marca m) throws Exception {
        try {
            marcasDao.salvar(m);
        } catch(Exception e) {
            throw new Exception("Erro ao salvar marca.");
        }
    }
    
    public void excluirMarca(Marca m) throws Exception {
        try {
            marcasDao.excluir(m);
        } catch(Exception e) {
            throw new Exception("Erro ao excluir marca.");
        }        
    }
    
    public Marca buscarMarcaId(Long id) throws Exception {
        try {
            Marca m = new Marca();
            m.setId(id);
            return marcasDao.buscarId(m);
        } catch(Exception e) {
            e.printStackTrace();
            throw new Exception("Erro ao buscar marca.");
        }
    }
    
    public List<Marca> buscarMarcas() throws Exception {
        try {
            return marcasDao.buscarTodos(new Marca());
        } catch(Exception e) {
            throw new Exception("Erro ao buscar marca.");
        }
    }
}
